[Linux 实战] 日常篇 开始接触Linux强大的文本编辑器vim

Table of Contents

强大的文本编辑器vi

在Linux如何打开文本文件,进行复制、粘贴、编辑、修改替换、撤销、重做、保存、另存?

Vi 是多模式文本编辑器,提供四种模式:正常、插入、命令、可视模式

进入Vim:在终端输入vim [文件名] 或 vim ,前者编辑指定文本,后者新建文本(之后在vim进行保存操作)
在这里插入图片描述

1. 正常模式:即进入vim的起始模式


在这里插入图片描述

1.1 进入插入模式的操作:
  • i:进入插入模式,光标位置与正常模式中的位置一致
  • Shift + i:进入插入模式,光标位置移动到所在行行首
  • a:进入插入模式,光标位置移动到所在字符的后面
  • Shift + a:进入插入模式,光标位置移动到所在行行末
  • o:进入插入模式,并在光标所在行后新建一行,光标移动到新建行行首
  • Shift+o:进入插入模式,并在光标所在行前新建一行,光标移动到新建行行首 从插入模式退回正常模式:按键盘左上角的"ESC键"
1.2 从正常模式进入命令模式

在正常模式下,输入冒号" : ",即可进入命令模式,可以对vim输入命令。

1.3 从正常模式进入可视模式:按"V"键
1.4 光标移动

上:K 下:J 左:H 右:L

1.5 复制

复制单行:正常模式下,按yy,将会复制光标所在行 复制多行:正常模式下,输入要复制的行数,如3,按yy,将会复制光标开始的对应行数(包括光标所在行)。 复制光标到所在行结尾:y$(先按y键,再按Shift+4)

1.6 剪切

剪切单行:dd 剪切多行:(数字) dd。如,11 dd 剪切光标到所在行结尾:d$

1.7 粘贴:p键(可以按多次进行多次粘贴)
1.8 撤销和重做:u键撤销、Ctrl+r键重做
1.9 单个字符的删除:x键
1.10 单个字符的替换:移动想替换的字符上,按r键后输入用来替换的字符
1.11 光标快速移动:

移动到文件开头:g键 移动到文件结尾:Shift+g键 移动到指定行:输入数字后,按Shift+g键 移动到当前行开头:^键(Shift+6) 移动到当前行结尾:$键(Shift+4)

2. 命令模式

2.1 另存为 - ":w [文件名]"
2.2 保存到原文件 - ":w"
2.3 退出 - ":q"
2.4 保存并退出 - ":wq"
2.5 不保存退出 - ":q!"
2.6 打开的同时执行命令 - ":![命令]"
2.7 查找 - "/[查找的字符]"

查看下一个:n键 查看上一个:Shift+n键

2.8 行内单次替换 - ": s/[old]/[new]"
2.9 全局多次替换 - ":%s/[old]/[new]/g"
2.10 指定行多次替换 - "3,5s/[old]/[new]/g" 指定了第3行到第5行
2.11 修改显示设置

set nu:显示行号(退出后自动失效) set nonu:隐藏行号 set nohlsearch:取消搜索高亮 进行长久生效的设置需要修改配置文件,vim的显示配置文件为/etc/vimrc 在/etc/vimrc的末尾新建一行,输入set nu 并保存后每次用vim打开文本都会自动显示行号

3. 可视模式

该模式用于选择特定区域以进行批量处理。

3.1 字符可视模式:v键

该模式下选择的区域为单个字符。我不太明白为什么要有这个模式,这跟直接插入模式有什么差别吗?

3.2 行可视模式:Shift+v键

该模式下选择的区域为某些行。

3.3 块可视模式:Ctrl+v键

该模式下选择的区域为上下对齐的块。

3.4 批量增加文本

在块可视模式下选择要增加的区域。 退回插入模式,进行文本增加。 连按两次"ESC键",文本修改会应用到选中块区域的每一行中。

3.5 批量删除

在块可视模式下,选择要操作的区域。 按d键剪切,将剪切掉选中的块区域。

Mastodon